package com.hrm.houfei.dao;

import java.util.List;

import org.hibernate.criterion.DetachedCriteria;

import com.hrm.houfei.po.Hrmconfig;
import com.hrm.houfei.vo.QueryHrmConfigGroupByItemResult;

public interface IHrmConfigDAO {

	public abstract void save(Hrmconfig transientInstance);

	/**
	 * 多条件分页模糊查询
	 * 
	 * @param criteria
	 *            条件标准查询
	 * @param start
	 *            索引
	 * @param limit
	 *            每要显示的记录的条数
	 * @return 当前页所有信息
	 * 
	 */
	public abstract List<Hrmconfig> findByPage(DetachedCriteria criteria,
			int start, int limit);

	/**
	 * 根据条件获取查询总记录的条数
	 * 
	 * @param criteria
	 * @return
	 */
	public int getListCoutByCondition(DetachedCriteria criteria);
	
	/**
	 * 按照条目分组查询数据字典信息
	 * 
	 * @param groupCondition
	 *            分组条件
	 * @return
	 */
	public List findAllGroupByItem(String groupCondition);
	
	/**
	 * 更新数据字典信息
	 * 
	 * @param entity
	 */
	public void updateHrmconfig(Hrmconfig entity);
	
	/**
	 * hql查询
	 * 
	 * @param hql
	 * @return List
	 */
	public List findByHql(String hql);
	
	public abstract void delete(Hrmconfig persistentInstance);

	public abstract Hrmconfig findById(java.lang.Integer id);

	public abstract List findByExample(Hrmconfig instance);

	public abstract List findByProperty(String propertyName, Object value);

	public abstract List findAll();

	public abstract Hrmconfig merge(Hrmconfig detachedInstance);

	public abstract void attachDirty(Hrmconfig instance);

	public abstract void attachClean(Hrmconfig instance);

}